package com.huohuo.springdemo.ioc;

import com.huohuo.springdemo.entity.Product;
import org.springframework.beans.factory.FactoryBean;

/**
 * 使用spring定义一个FactoryBean
 */
public class ProductFactoryBean implements FactoryBean<Product>{

    //返回一个product对象，这个对象会被放到容器中
    @Override
    public Product getObject() throws Exception {
        System.out.println("调用了ProductFactoryBean中的getObject方法了。。。。。");
        return new Product();
    }


    //返回对象的类型
    @Override
    public Class<?> getObjectType() {
        return Product.class;//指定的是什么类型的bean
    }


    /**
     * true表示创建出来的对象是单例，在容器中只保存一份。如果是false，每次获取都会创建一个新的bean。
     * */
    @Override
    public boolean isSingleton() {
        return true;
    }
}
